package com.intct.hbase.dml;

import com.intct.util.ConnectionHBaseUtils;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;

import java.io.IOException;

/**
 * @author gufg
 * @since 2025/6/13
 */
public class DeleteData {
    public static void main(String[] args) throws IOException {
        // 连接HBase
        Connection connection = ConnectionHBaseUtils.getConnection();

        // 获取Admin实例
        Admin admin = connection.getAdmin();

        // TabelName实例
        TableName tableName = TableName.valueOf("intct_80_api", "t4");

        // 获取Table实例
        Table table = connection.getTable(tableName);

        try {
            // 判断是否存在
            if (admin.tableExists(tableName)) {

                Delete delete = new Delete(Bytes.toBytes("1001"));

                // 删除列的所有版本
//                delete.addColumns(Bytes.toBytes("f1"), Bytes.toBytes("name"));

                // 删除列的最后一个版本
//                delete.addColumn(Bytes.toBytes("f1"), Bytes.toBytes("name"));

                // 删除数据
                table.delete(delete);

            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            if (admin != null) {
                admin.close();
            }
            if (table != null) {
                table.close();
            }
        }
    }
}
